/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sender.database;

import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * @author parent
 */
public class SimpleMD5 {

 private static String convertToHex(byte[] data) {
 StringBuffer buf = new StringBuffer();
 for (int i = 0; i < data.length; i++) {
 int halfbyte = (data[i] >>> 4) & 0x0F;
 int two_halfs = 0;
 do {
 if ((0 <= halfbyte) && (halfbyte <= 9))
 buf.append((char) ('0' + halfbyte));
 else
 buf.append((char) ('a' + (halfbyte - 10)));
 halfbyte = data[i] & 0x0F;
 } while(two_halfs++ < 1);
 }
 return buf.toString();
 }
 public String md5bit32(String text) 
 throws NoSuchAlgorithmException, UnsupportedEncodingException {
 MessageDigest md;
 md = MessageDigest.getInstance("MD5");
 byte[] md5hash = new byte[32];
 md.update(text.getBytes("iso-8859-1"), 0, text.length());
 md5hash = md.digest();
 return convertToHex(md5hash);
 }
 public String md5bit16(String input) throws NoSuchAlgorithmException {
    String result = input;
    if(input != null) {
        MessageDigest md = MessageDigest.getInstance("MD5"); //or "SHA-1"
        md.update(input.getBytes());
        BigInteger hash = new BigInteger(1, md.digest());
        result = hash.toString(16);
        while(result.length() < 32) {
            result = "0" + result;
        }
    }
    return result;
}
}
